//
//  Plane.h
//  BeatPlane
//
//  Created by LZXuan on 15-5-6.
//  Copyright (c) 2015年 轩哥. All rights reserved.
//
// //////////
//
#import <UIKit/UIKit.h>
/*
 设计一个飞机类，具备左右移动 发射子弹的功能 还可以显示图片
 这时我们可以利用继承 让飞机继承于UIImageView 这样飞机类就可以显示飞机图片 而且飞机类要比UIImageView 更加强大
 飞机对象 在整个程序 就一个对象 这时我们可以设计成单例
 */


//定义一个枚举表示方向
typedef enum {
    kLeft = -1,
    kStop,
    kRight
}Towards;

@interface Plane : UIImageView
{
    BOOL _isFire;//记录飞机是否开火
    Towards _towards;//记录当前飞机的方向
}
@property (nonatomic) BOOL isFire;

//单例函数
+ (instancetype)defaultPlane;
/*
 instancetype 类似于 id 是一个对象的地址
 instancetype 比id 更加准确，instancetype只能作为返回值类型，返回具体的对象地址
 
 如果 返回 id  ，那么调用函数返回的就是id 类型
 */


//准备左移 (提供给按钮来改变方向的)
- (void)startMoveLeft;
//准备右移
- (void)startMoveRight;
//停止
- (void)stopMoveing;

//飞机的移动行为
//下面的方法是提供给定时器 来调用的
//定时器 每隔一段时间可以让飞机执行一次planeAction控制飞机的移动
- (void)planeAction;

/**
 *  开始播放声音
 */
- (void)startPlaying ;
/**
 *  停止播放
 */
- (void)stopPlaying;

@end





